#include <stdio.h>
#include <stdbool.h>
#include <string.h>

//int main()
//{
    // float a =3.1467676;
    // int b = 6;
    // float c = b / a;
    // printf("%f\n",c);//默认输出小数点后6位，.2f保留两位
    // int a = 12;
    // if((a & 1) == 0)
    // {
    //     printf("是偶数\n");
    // }
    // else
    // {
    //     printf("是奇数\n");
    // }

    // for(int i = 0; i <= 100; i++)
    // {
    //     if(i % 2 == 0)
    //     {
    //         printf("%d ", i);
    //     }
    // }
    // printf("\n");
    // return 0;

    // for(int i = 2; i <= 100; i += 2)
    // {
    //     printf("%d ",i);
    // }
    // printf("\n");
    // return 0;
//     int sum = 0;
//     for(int i = 0; i <= 100; i++)
//     {
        
//         sum += i;
        
//     }
//     printf("%d",sum);
//     printf("\n");
//     return 0;

    // int i = 0;
    // while(i <= 100)
    // {
    //     printf("%d ",i++);
    // }
    // printf("\n");
    // return 0;

    // int n = 3;
    // int a = 2;
    // int sum = 0;
    // for(int i = 0; i < n; i++)
    // {
    //     int value = value * 10 + a;
    //     sum += value;
    // }
    // printf("%d\n", sum);
    // return 0;

    // for (int i = 100; i <= 999; i++)
    // {
    //     int hundred = i / 100;
    //     int decade = i % 100 /10;
    //     int unit = i % 10;
    //     if(i == hundred * hundred * hundred + decade * decade * decade + unit * unit * unit)
    //     {
    //         printf("%d \n", i);
    //     }
    // }
    // printf("\n");
    // return 0;

    // int row = 5;
    // for(int i = 1; i <= row/2 + 1; i++)
    // {
    //     for(int j = 1; j <= row/2 + 1 - i; j++)
    //     {
    //         printf(" ");
    //     }
    //     for(int k = 1; k <= 2 * i - 1; k++)
    //     {
    //         printf("*");
    //     }
    //     printf("\n");
    // }
    // for(int i = 1; i <= row/2; i++)
    // {
    //     for(int j = 1; j <= i; j++)
    //     {
    //         printf(" ");
    //     }
    //     for(int k = 0; k <row - 2 * i; k++)
    //     {
            
    //     }
    // }

    // for(int i = 0; i <= 9; i++)
    // {
    //     for(int j = 0; j <= i; j++)
    //     {
    //         printf("%d*%d=%d ",j, i, i*j);
    //     }
    //     printf("\n");
    // }
//}

// int add(int a,int b)
// {
//     return a + b;
// }

// int main()
// {
//     int c = add((int)'a',(int)'b');
//     printf("%d\n", c);
// }


// bool IsEven(int a)
// {
//     if( a % 2 == 0)
//         return true;
//     else
//         return false;
// }
// int main()
// {
//     int a = 11;
//     if(IsEven(a) == true)
//     {
//         printf("是偶数\n");
//     }
//     else
//     {
//         printf("不是偶数\n");
//     }
// }


// void Swap(int *a, int *b)
// {
//     int temp = *a;
//     *a = *b;
//     *b = temp;
// }
// int main()
// {
//     int a = 10;
//     int b = 20;
//     Swap(&a, &b);
//     printf("a = %d b = %d\n", a, b);
//     return 0;
// }


// int main()
// {
//     //常量关键字
//          //const : 伪常量
//     const int a = 10;
//          //a = 20;
//     int *p = &a;
//     *p = 20;
//     printf("%d\n",a);
//     return 0;
// }

// int iseven(int a)
// {
//     if(a % 2 == 0)
//     {
//         printf("shi  ou  shu\n");
//     }
//     else
//         printf("bu  shi  ou  shu\n");
// }

// int main()
// {
//     int b = 10;
//     iseven(b);
// }

// #include <stdio.h>
// #define Size 4

// int main()
// {
//     int a[Size] ={1,2,3,4};
//     int *p = a;
//     p++;
//     printf("%p\n",p);
//     return 0;
// }

// int main()
// {
//     long a[50] = {0};
//     //第50个月有多少对兔子
//     a[0] = 1;
//     a[1] = 1;
//     for(int i = 2; i < 50;i++)
//     {
//         a[i] = a[i-1] + a[i-2];            //Un = u(n-1) + u(n-2)
//     }
//     printf("%ld\n",a[49]);
//     return 0;
// }

// long long int rabbit(int day)
// {
//     if(day == 1)
//         return 1;
//     if(day == 2)
//         return 1;
    
//     return rabbit(day - 1) + rabbit(day - 2);
// }
// int main()
// {
//     printf("%lld\n",rabbit(50));
//     return 0;
// }

// int main()
// {
//     int a[100] = {0};
//     a[0] = 1;
//     for(int i = 1; i <= 100; i++)
//     {
//         for(int j  = 0; j < 100; j++)
//         {
//             a[j] *= 2;
//         }
//         for(int k = 0; k < 99; k++)
//         {
//             if(a[k] >= 10)
//             {
//                 a[k+1]++;
//                 a[k] %= 10;
//             }
//         }
//     }
//     int flag = 0;
//     for(int i = 99; i >= 0; i--)
//     {
//         if(a[i] != 0)
//         {
//             flag = 1;
//         }
//         if(flag == 1)
//         {
//             printf("%d",a[i]);
//         }
//     }
//     printf("\n");
//     return 0;
// }



// int main()
// {
//     int a[] = {9,8,7,6,5,4,3,2,1};
//     int b[] = {1,2,3,4,5,6,7,8,9};
//     int c[20] = {0};
//     int temp;
//     for(int i = 0; i < 9; i++)
//     {
//         for(int j = 0; j < 9; j++)
//         {
//             c[i+j] += a[i] * b[j];
//         }
//         for(int k = 0; k < 19; k++)
//         {
//             if(c[k] >= 10)
//             {
//                 temp = c[k] / 10;
//                 c[k] %= 10;
//                 c[k+1] += temp;
//             }
//         }
//     }
//     int flag = 0;
//     for(int i = 19; i >= 0; i--)
//     {
//         if(c[i] != 0)
//         {
//             flag = 1;
//         }
//         if(flag == 1)
//         {
//             printf("%d",c[i]);
//         }
//     }
//     printf("\n");
//     return 0;
// }

// int main()
// {
//     char str[10] = "hello";
//     printf("%s\n",str);
//     return 0;
// }


// size_t MyStrlen(const char *s)
// {
//     size_t count = 0;
//     while(*s++ != 0)
//     {
//         count++;
//     }
//     return count;
// }
// int main()
// {
//     printf("%ld\n",MyStrlen("helloworld"));
//     return 0;
// }


// void MyStrcpy(char *s, const char *src, size_t n)
// {
//     while(*src != '\0' && n-- != 0)
//     {
//         *s++ = *src++;
//     }
//     *s = '\0';
// }
// int main()
// {
//     const char *str = "hello";
//     char s[6] = {0};
//     MyStrcpy(s,str,3);
//     printf("%s\n",s);
//     return 0;
// }


int MyStrcmp(const char *s1, const char *s2)
{
    while(*s1 == *s2 && *s1 != '\0' && *s2 != '\0')
    {
        *s1++;
        *s2++;
    }
    return *s1 - *s2;
}
// int main()
// {
//     const char *s1 = "hello";
//     const char *s2 = "helloworld";
//     printf("%d\n",MyStrcmp(s1,s2));
//     return 0;
// }


// #define Min(a,b) (a) < (b) ? a : b
// int MyStrncmp(const char *s1, const char *s2, size_t n)
// {
//     size_t minlen = Min(Min(strlen(s1),strlen(s2)),n);
//     if(minlen == n)
//     {
//         while((*s1 == *s2) && (minlen-- != 1))
//         {
//             s1++;
//             s2++;
//         }
//         return *s1 - *s2;
//     }
//     else
//     {
//         return MyStrcmp(s1,s2);
//     }
// }
// int main()
// {
//     const char *s1 = "hello";
//     const char *s2 = "helloworld";
//     printf("%d\n",MyStrncmp(s1,s2,6));
//     return 0;
// }


char *MyStrstr(char *dest, const char *src)
{
    size_t flen = MyStrlen(dest);
    size_t slen = MyStrlen(src);
}